sqlite - Symfony2 : Unit testing with sqlite
全部标签 除了编写自定义脚本将JSON对象解码为PHP实体之外,有谁知道是否有简单的方法?我正在使用下面的脚本编码为JSON,但是当我解码时它是一个数组而不是一个实体。$serializer=newSerializer(array(newGetSetMethodNormalizer()),array('json'=>newJsonEncoder()));$json=$serializer->serialize($coupon,'json');$session->set('json',$json);然后我就这样解码$session=$this->getRequest()->getSession()
我如何使用这一行打开数据库:$db=newPDO('sqlite:mydb.sqlite');如果我的数据库不在这个目录中? 最佳答案 使用相同的方案,但放置完整路径。sqlite:/path/to/db.sqlite 关于php-如何使用不在同一目录中的PDO打开sqlite3数据库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9182659/
我如何才能为任何用户获取安全token,而不仅仅是当前登录的用户?我希望能够对从数据库中获取的用户调用isGranted() 最佳答案 isGranted()来自安全服务,因此在不调整session状态的情况下很难/没有必要使用它来获取角色。不要误会我的意思,这绝对有可能......这会起作用,例如:publicfunctionstrangeAction(){//GetyourUser,howeveryounormallygetit$user=$userRepository->find($id);//Savethecurrentto
我已经使用SQLCREATEDATABASE命令创建了一个新数据库来托管我的应用程序表。我现在将使用Doctrine从我的Symony2.1项目生成数据库。我已经有了正确的映射YML-PHP实体,但是当我尝试使用命令时phpapp/vendorsdoctrine:schema:create它在我的应用程序中运行的查询失败。我不明白的是为什么它似乎在尝试启动我的包,但显然它失败了,因为我执行的查询找不到表。如何生成新数据库?Basetableorviewnotfound:1146Table'mydatabase.mytable_menu'doesn'texist
我知道默认情况下symfony2安全Controller可以执行注销操作。当我们像这样提供注销路径时,它工作正常。但是我需要执行一些操作,比如在发生注销时将一些数据存储到数据库中。那么我该如何实现呢。如果有任何想法请帮助我。 最佳答案 您需要在routing.yml或注释中为注销操作定义新规则(由您决定)logout_user:pattern:/logoutUserdefaults:{_controller:YourBundle:YourController:logout}然后它只是像这样为这个Action编写代码:publicfu
是否可以创建2个具有相同表单和操作的相关实体?如果是,如何?我想在第一步注册中创建一个新用户及其相关问卷。谢谢,卢卡 最佳答案 您可以为相关实体(调查问卷)创建一个表单类型,并将其用作用户表单类型中的字段类型。这称为表单嵌套。//src/Acme/DemoBundle/Form/Type/QuestionnaireType.phpnamespaceAcme\DemoBundle\Form\Type;useSymfony\Component\Form\AbstractType;useSymfony\Component\Form\For
我在生产服务器中遇到了这个错误。在本地服务器上一切正常。request.CRITICAL:UncaughtPHPExceptionErrorException:Warning:SessionHandler::read():open(C:/Inetpub/vhosts//tanur.ir/vhosts/tanur.ir/private/session\sess_3olhvc8osdevomrh72bhsra4k6,O_RDWR)failed:Nosuchfileordirectory(2)inC:\Inetpub\vhosts\tanur.ir\httpdocs\Symfony\vend
我的symfony项目中有一条路线受到限制,所以如果我尝试在未登录的情况下前往那里,我将被重定向到登录页面。我想区分什么时候我试图在没有登录的情况下进入限制区域,什么时候我直接进入登录页面。关于如何在symfony中执行此操作的任何线索?更新通过区分,我的意思是通过某种方式来检查用户是否通过直接转到该url登陆了登录页面,或者用户是否因为试图访问受限页面而登陆了登录页面。 最佳答案 Thomas的解决方案很好。这是一个替代方案。知道这一点并且只有在未登录的情况下您才会被重定向,您可以使用附加参数让您的安全防火墙重定向。安全.yml.
我已经读过this和this和其他人,但没有人解决我的问题。我已经删除了所有可能的内容并将范围缩小到一个字段:地址。当我尝试关注thistutorial时,如果我遵循它,一切都会正常,从一个全新的新项目开始。但是当我在我的其他项目中手动执行时,我得到了这个错误:“可捕获的fatalerror:传递给BN\Bundle\MyBundle\Entity\PersonTeacher::addAdresse()的参数1必须是BN\Bundle\MyBundle\Entity\Adresse的实例,C:\Users\Olivier\PhpstormProjects\中给出的数组My\My\src
我正在使用symfony2命令作为cron作业来向站点成员发送批量电子邮件。实际代码:$output->writeln('Before:'.(memory_get_usage()/1024/1024));$mailer->send($m);$output->writeln('After:'.(memory_get_usage()/1024/1024));我的结果:Before:182.38MBAfter:183.73MB每次我发送电子邮件时,swiftmailer都会额外消耗1+MB的内存。这似乎不对,但每次发送新消息时内存都会增加。我在这里做错了什么吗?